home *** CD-ROM | disk | FTP | other *** search
-
-
-
- gggglllluuuuPPPPrrrroooojjjjeeeecccctttt((((3333GGGG)))) OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee gggglllluuuuPPPPrrrroooojjjjeeeecccctttt((((3333GGGG))))
-
-
-
- NNNNAAAAMMMMEEEE
- gggglllluuuuPPPPrrrroooojjjjeeeecccctttt - map object coordinates to window coordinates
-
-
- CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- GLint gggglllluuuuPPPPrrrroooojjjjeeeecccctttt( GLdouble _o_b_j_X,
- GLdouble _o_b_j_Y,
- GLdouble _o_b_j_Z,
- const GLdouble *_m_o_d_e_l,
- const GLdouble *_p_r_o_j,
- const GLint *_v_i_e_w,
- GLdouble* _w_i_n_X,
- GLdouble* _w_i_n_Y,
- GLdouble* _w_i_n_Z )
-
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- _o_b_j_X, _o_b_j_Y, _o_b_j_Z
- Specify the object coordinates.
-
- _m_o_d_e_l Specifies the current modelview matrix (as from a
- ggggllllGGGGeeeettttDDDDoooouuuubbbblllleeeevvvv call).
-
- _p_r_o_j Specifies the current projection matrix (as from a
- ggggllllGGGGeeeettttDDDDoooouuuubbbblllleeeevvvv call).
-
- _v_i_e_w Specifies the current viewport (as from a ggggllllGGGGeeeettttIIIInnnntttteeeeggggeeeerrrrvvvv
- call).
-
- _w_i_n_X, _w_i_n_Y, _w_i_n_Z
- Return the computed window coordinates.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- gggglllluuuuPPPPrrrroooojjjjeeeecccctttt transforms the specified object coordinates into window
- coordinates using _m_o_d_e_l, _p_r_o_j, and _v_i_e_w. The result is stored in _w_i_n_X,
- _w_i_n_Y, and _w_i_n_Z. A return value of GGGGLLLL____TTTTRRRRUUUUEEEE indicates success, a return
- value of GGGGLLLL____FFFFAAAALLLLSSSSEEEE indicates failure.
-
- To compute the coordinates, let v = (objX,objY,objZ,1.0) represented as a
- matrix with 4 rows and 1 column. Then gggglllluuuuPPPPrrrroooojjjjeeeecccctttt computes v' as follows:
-
- v' = P x M x v
-
- where P is the current projection matrix _p_r_o_j, M is the current modelview
- matrix _m_o_d_e_l (both represented as 4x4 matrices in column-major order) and
- 'x' represents matrix multiplication.
-
- The window coordinates are then computed as follows:
-
- winX = view(0) + view(2) * (v'(0) + 1) / 2
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- gggglllluuuuPPPPrrrroooojjjjeeeecccctttt((((3333GGGG)))) OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee gggglllluuuuPPPPrrrroooojjjjeeeecccctttt((((3333GGGG))))
-
-
-
- winY = view(1) + view(3) * (v'(1) + 1) / 2
-
- winZ = (v'(2) + 1) / 2
-
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ggggllllGGGGeeeetttt, gggglllluuuuUUUUnnnnPPPPrrrroooojjjjeeeecccctttt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-